{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "_iPv5Nnr8iGf"
      },
      "source": [
        "# Implementation of a KAN for regression\n",
        "In this notebook I implement a Kolmogorov-Arnold Network (KAN) for the use of regression and compare it against a neural network of a similar architecture."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LRMpDTp_cVt5"
      },
      "source": [
        "## Initialisations"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "t1n3Plr3bvLI",
        "outputId": "31454242-a911-4985-c71b-004589daa783"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Collecting pykan\n",
            "  Downloading pykan-0.2.1-py3-none-any.whl (74 kB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m74.2/74.2 kB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hInstalling collected packages: pykan\n",
            "Successfully installed pykan-0.2.1\n"
          ]
        }
      ],
      "source": [
        "!pip install pykan"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "qrVEGBzEcUQc",
        "outputId": "2ac80d62-f694-4641-800e-1b6e41e5468f"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "cuda\n"
          ]
        }
      ],
      "source": [
        "import torch\n",
        "from kan import *\n",
        "import matplotlib.pyplot as plt\n",
        "from sklearn.datasets import fetch_california_housing\n",
        "from sklearn.model_selection import train_test_split\n",
        "from tqdm import tqdm\n",
        "from sklearn.preprocessing import StandardScaler\n",
        "\n",
        "if torch.cuda.is_available():\n",
        "  device = torch.device(\"cuda\")\n",
        "else:\n",
        "  device = torch.device(\"cpu\")\n",
        "\n",
        "print(device)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7RE1svm9cXkX"
      },
      "source": [
        "## Loading the Dataset"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wMwDaT0icUJD",
        "outputId": "f943ff7b-28d2-4476-c0ca-8184280aa1e5"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "100%|██████████| 16512/16512 [00:04<00:00, 3949.59it/s]\n",
            "100%|██████████| 4128/4128 [00:01<00:00, 3517.02it/s]\n"
          ]
        }
      ],
      "source": [
        "def load_calhous_dataset():\n",
        "    # Load California housing dataset\n",
        "    calhous = fetch_california_housing()\n",
        "    data = calhous.data\n",
        "    target = calhous.target\n",
        "\n",
        "    scaler = StandardScaler()\n",
        "    data = scaler.fit_transform(data)\n",
        "\n",
        "    # Convert to PyTorch tensors\n",
        "    data_tensor = torch.tensor(data, dtype=torch.float32)\n",
        "    target_tensor = torch.tensor(target, dtype=torch.float32)\n",
        "\n",
        "    # Split dataset into train and test sets\n",
        "    train_data, test_data, train_target, test_target = train_test_split(data_tensor, target_tensor, test_size=0.2, random_state=42)\n",
        "\n",
        "    # Create data loaders (optional, if you want to batch and shuffle the data)\n",
        "    train_loader = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(train_data, train_target), batch_size=1, shuffle=True)\n",
        "    test_loader = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(test_data, test_target), batch_size=1, shuffle=False)\n",
        "\n",
        "    train_inputs = torch.empty(0, 8, device=device)\n",
        "    train_labels = torch.empty(0, dtype=torch.long, device=device)\n",
        "    test_inputs = torch.empty(0, 8, device=device)\n",
        "    test_labels = torch.empty(0, dtype=torch.long, device=device)\n",
        "\n",
        "    # Concatenate all data into a single tensor on the specified device\n",
        "    for data, labels in tqdm(train_loader):\n",
        "        train_inputs = torch.cat((train_inputs, data.to(device)), dim=0)\n",
        "        train_labels = torch.cat((train_labels, labels.to(device)), dim=0)\n",
        "\n",
        "    for data, labels in tqdm(test_loader):\n",
        "        test_inputs = torch.cat((test_inputs, data.to(device)), dim=0)\n",
        "        test_labels = torch.cat((test_labels, labels.to(device)), dim=0)\n",
        "\n",
        "    dataset = {}\n",
        "    dataset['train_input'] = train_inputs\n",
        "    dataset['test_input'] = test_inputs\n",
        "    dataset['train_label'] = train_labels.reshape(-1, 1)\n",
        "    dataset['test_label'] = test_labels.reshape(-1, 1)\n",
        "\n",
        "    return dataset\n",
        "\n",
        "calhous_dataset = load_calhous_dataset()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wDBtdgGocUHM",
        "outputId": "5728e6e5-0d37-49ba-e29b-474c58d105d0"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Train data shape: torch.Size([16512, 8])\n",
            "Train target shape: torch.Size([16512, 1])\n",
            "Test data shape: torch.Size([4128, 8])\n",
            "Test target shape: torch.Size([4128, 1])\n",
            "====================================\n"
          ]
        }
      ],
      "source": [
        "print(\"Train data shape: {}\".format(calhous_dataset['train_input'].shape))\n",
        "print(\"Train target shape: {}\".format(calhous_dataset['train_label'].shape))\n",
        "print(\"Test data shape: {}\".format(calhous_dataset['test_input'].shape))\n",
        "print(\"Test target shape: {}\".format(calhous_dataset['test_label'].shape))\n",
        "print(\"====================================\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "D7ERosp1iM17"
      },
      "source": [
        "## Creating and Training the KAN"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 321
        },
        "id": "xkjQDBTnNFHw",
        "outputId": "42f17bbf-4154-4b71-f9c7-2bb62433b3c4"
      },
      "outputs": [
        {
          "ename": "TypeError",
          "evalue": "cannot assign 'torch.cuda.FloatTensor' as parameter 'node_bias_0' (torch.nn.Parameter or None expected)",
          "output_type": "error",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-7-c628de224b73>\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mimage_folder\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'video_img'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mKAN\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrid\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/kan/MultKAN.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, width, grid, k, mult_arity, noise_scale, scale_base_mu, scale_base_sigma, base_fun, symbolic_enabled, affine_trainable, grid_eps, grid_range, sp_trainable, sb_trainable, device, seed, save_plot_data, sparse_init, auto_save, first_init, ckpt_path, state_id)\u001b[0m\n\u001b[1;32m     83\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     84\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0ml\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdepth\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 85\u001b[0;31m             \u001b[0mexec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'self.node_bias_{l} = torch.nn.Parameter(torch.zeros(width_in[l+1],)).requires_grad_(affine_trainable).to(device)'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     86\u001b[0m             \u001b[0mexec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'self.node_scale_{l} = torch.nn.Parameter(torch.ones(width_in[l+1],)).requires_grad_(affine_trainable).to(device)'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     87\u001b[0m             \u001b[0mexec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'self.subnode_bias_{l} = torch.nn.Parameter(torch.zeros(width_out[l+1],)).requires_grad_(affine_trainable).to(device)'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/kan/MultKAN.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m__setattr__\u001b[0;34m(self, name, value)\u001b[0m\n\u001b[1;32m   1727\u001b[0m         \u001b[0;32melif\u001b[0m \u001b[0mparams\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1728\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1729\u001b[0;31m                 raise TypeError(f\"cannot assign '{torch.typename(value)}' as parameter '{name}' \"\n\u001b[0m\u001b[1;32m   1730\u001b[0m                                 \u001b[0;34m\"(torch.nn.Parameter or None expected)\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1731\u001b[0m                                 )\n",
            "\u001b[0;31mTypeError\u001b[0m: cannot assign 'torch.cuda.FloatTensor' as parameter 'node_bias_0' (torch.nn.Parameter or None expected)"
          ]
        }
      ],
      "source": [
        "image_folder = 'video_img'\n",
        "\n",
        "model = KAN(width=[8, 3, 1], grid=10, k=3, seed=0, device=device)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "OhNKU6T1iLWe",
        "outputId": "c1050905-cf4e-428f-ff3f-80d82944b34d"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "train loss: 5.47e-01 | test loss: 5.57e-01 | reg: 5.02e+00 : 100%|██| 25/25 [02:01<00:00,  4.88s/it]\n"
          ]
        }
      ],
      "source": [
        "def train_mse():\n",
        "    with torch.no_grad():\n",
        "        predictions = model(calhous_dataset['train_input'])\n",
        "        mse = torch.nn.functional.mse_loss(predictions, calhous_dataset['train_label'])\n",
        "    return mse\n",
        "\n",
        "def test_mse():\n",
        "    with torch.no_grad():\n",
        "        predictions = model(calhous_dataset['test_input'])\n",
        "        mse = torch.nn.functional.mse_loss(predictions, calhous_dataset['test_label'])\n",
        "    return mse\n",
        "\n",
        "results = model.fit(calhous_dataset, opt=\"LBFGS\", metrics=(train_mse, test_mse),\n",
        "                      loss_fn=torch.nn.MSELoss(), steps=25, lamb=0.01, lamb_entropy=2., save_fig=True, img_folder=image_folder)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "J8hG6q3zujPG",
        "outputId": "2a99f4b0-896f-47b2-a980-cdfb6a314f11"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "0.29927483201026917 0.3098355531692505\n"
          ]
        }
      ],
      "source": [
        "print(results['train_mse'][-1], results['test_mse'][-1])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 721
        },
        "id": "ll0aE1WW9FEK",
        "outputId": "ad5f27d7-a28b-4dde-9feb-e7ad93a1510b"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAALACAYAAAAUkgSvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gc1fk24GebtEVdbiqW5G5ZxoCNcZVNS6ihp0GC6ZDwoxhIIUCAEBJKQjOhY0IJSUggDr2EZssVGxtwx2Ctqm1ZbSXtaut8f+g7w5bZ1ZbZIvm5r8tXwko7M5J2Z+eZc877aiRJkkBERERERKQibboPgIiIiIiIhh8GDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiKiDHLMMcdAo9EE/Pv444/TfVhERDFj0CAiIiIiItUxaBANUbfffnvIXU+NRqPqPurr6xX38de//lXV/RDFqqqqSvG1Ge6fTqdDQUEBqqqqcOSRR+KCCy7AsmXLsHnz5nT/KEREw5Y+3QdARESUbD6fD93d3eju7obVasWWLVvwwgsvAACOOOII/OxnP8PFF18MvZ4fi0REauGIBhERHdK2bNmCK664AvPnz8euXbvSfThERMMGgwYRERGATz/9FEcddRQ2bdqU7kMhIhoWOEZMRETDwimnnIJbb71V8Ws+nw9dXV1obGzE6tWrsWLFCvT09IR8X29vL0455RSsX78eVVVVST5iZawwRUTDBYMGERENCyNHjsTcuXMH/b4rrrgCXV1duOOOO/Dggw+GfP3AgQO44YYb8MorryThKImIDh2cOkVERIecgoICPPDAA3jssccUv/7qq69i48aNKT4qIqLhhUGDiIgOWVdeeSV+8pOfKH7tb3/7W4qPhohoeGHQICKiQ5roSRPs/fffT8PREBENH1yjQURp4/P5sG3bNuzYsQPNzc3o6+uDXq9Hfn4+qqqqMHPmTIwePTrdh5kSPT09+OKLL7Bnzx7YbDbYbDbodDqYzWbk5uZi7NixqKqqwrhx46DT6VTfv8vlwpYtW7Bnzx7s27cPDocDOTk5GD16NEpLS3H00UfDaDSqvt9MMGHCBEyfPh1ffvllwOPbtm1Db28vcnJyEtq+zWbDZ599hj179qCzsxNOpxMWiwXjx4/HGWeckdC249HT04MtW7Zg7969aGtrg8PhQHZ2NnJzc1FaWorq6mqMHz9e9deZ1+vFl19+id27d6OlpQV9fX0wm80YNWoUxowZg9mzZyMvL0/VfRJRmklENCTddtttEoCQf2rau3ev4j6effbZhLa7bt06acmSJVJBQYHi9v3/1dTUSL///e+l9vb2uPen9Lu67bbb4t6e0u+lsrIy5u20t7dLDzzwgHTUUUdJGo1m0N8FAMlisUiLFy+Wbr31VmnLli1x/wySJEkej0f6xz/+IZ166qmS0WiMuF+TySSdeuqp0ssvv5zQPtVSWVkZcoxLliyJe3sXXXSR4s/9zTffRL3/vXv3yl/3+XzSv/71L+m4446T9Hq94rbDvWYWL14c8r0fffRR3D+bJEnSwYMHpXvvvVc6+uijJa1WO+jrLD8/XzrzzDOlp556SrLZbAnt+80335R+8IMfSDk5ORH3aTAYpOOOO0568sknJbfbndA+iSgzMGgQDVFDMWg0NjZKp59+elQX1MH/cnJypD//+c+S1+uNeb+ZGDSefvppqbi4OK7fhf+/P/7xj3H9DK+99po0YcKEuPY5d+5caf369XHtVy1qB41f/vKXij/rhg0bot6/CBpff/21NHfu3EF/j6kIGn19fdLNN98smUymuF9jOTk50t/+9reY911XVycdccQRce2zurpaeuedd+L6mYkoc3CNBhGlxCeffIIjjjgCr732WlzP7+3txQ033IBTTz0VNptN5aNLreuvvx6XXnop2tvbE95Wf39/TN/vcrlw5ZVX4vTTT8fXX38d1z7XrVuHRYsWDavyr5IkqbKdTZs2Yfbs2Vi3bp0q20vE1q1bMXPmTNx1111wOBxxb6e3txe7d++O+vslScIdd9yBRYsWYcuWLXHtc8eOHTj55JPx8MMPx/V8IsoMXKNBREn3ySef4OSTTw57saPX61FVVYXS0lI4HA40NjZi3759it/7zjvv4KSTTsL//vc/mM3mZB52UjzyyCN44IEHwn49JycH48ePR35+PrKzs9HT0wObzYb6+vqELhYBwOl04uyzz8Zbb70V9nvy8vJQWVmJESNGwOFwoLm5GY2NjYrb+sEPfoBnn30WF1xwQULHlQkOHjyo+PiIESOi3kZTUxPOOeccdHR0BDxuNBpRVVWFUaNGyb/T1tbW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7m0qTREqLi7G5MmTIz5PqfdGvB2GJUnCG2+8Eddz1fCjH/0o5DGn0xm2xO9pp50W8lhdXR0OHDig+rFReh1zzDEhjy1fvhxOpzOp+z311FNDHvv666/ZxZuIGDSIKDmOP/54xXUaDzzwQFzba2trw4svvhjy+Lnnnjvoc2fOnBny2M6dO9HY2Bjzcbz22muKXZhTRWkuPhC+5OfChQsxbty4gMecTifuuece1Y+N0uvCCy8MeaytrQ2PP/54UvdbWVmJRYsWhTx+xx13JHW/RJT5GDSIKCksFgsuvvjikMdfeOEFrFmzJubt/fKXv1SsonP11VcP+twRI0agsrIy4DFJkvDMM8/EdAydnZ245pprYnqO2pQWw2dlZYUNIFqtFtddd13I44888kjCU9kosxx99NGKoxo33XTToM0hE3XDDTeEPPbqq6/ipZdeSup+iSizMWgQUdJcddVVMBgMAY9JkoQf/OAHqK+vj3o7Dz/8sGLH5+9+97uoqamJahtKIx/33Xcfdu/eHdXzbTYbzjnnHDQ0NET1/cF6enrw85//HHv27Inr+cKDDz4Y8tisWbOg0WjCPudnP/tZSGNAl8uFs846S5X1Ji0tLXjssccS3g4l7pZbbgl5zOFw4MQTT4w7bEiSNOiaptNPPx3HHntsyOMXX3wxVqxYEdd+/XV2dsY9GkpE6cOgQURJM378eNx+++0hjzc3N+PYY4/FypUrIz7f5XLht7/9reId+ZycHDz66KNRH8sll1wS8pjdbsfxxx+PjRs3RnzuJ598ggULFsgLXJUqPw3G6/Xisccew5QpU3DWWWfh1VdfDdtBXYnb7catt96Kp556KuRr559/fsTnGgwGvPDCCyGhr7OzE4sXL8att94ado1HOE6nE2+99RbOP/98VFVV4aGHHorp+ZQcxx9/vOL7paGhAQsWLMDTTz8ddWdtu92OF154AYcddlhU06+effbZkMILTqcTZ511Fn72s5+hpaUlqv0KXq8XH3/8Ma688kqUl5fjpptuiun5RJR+bOdJREn161//Gm+//Tbq6uoCHq+vr8cxxxyDM888Ez/+8Y9x1FFHYcyYMejv70djYyPefvttLF++POyIw0MPPYQJEyZEfRzV1dW44IILQhaUNzU1Yc6cOfje976HU045BVVVVcjOzkZbWxu2b9+ON998M6BEqFarxcMPP4xLL700ht/Ct3w+H1asWIEVK1bAYrHgO9/5DmbPno2ZM2di4sSJKCwsRH5+PtxuNzo7O7F792589NFHeP755xVHgaqrqxVDVLDZs2fjmWeewZIlSwIqVHm9Xvz+97/H/fffj+9///tYvHgxZs+ejVGjRqGgoABerxfd3d3o6urC7t278cUXX2DTpk343//+l1CJYEqee++9F+vWrcO6desCHu/o6MBll12G++67D+eeey6++93vYty4cRg5ciQ0Gg06OzthtVqxceNGrFq1Cm+88QbsdjuA6NZCVVZW4pVXXsEpp5wCl8sV8LXHH38czzzzDM444wwcf/zxmDNnDkpKSuQeON3d3eju7saePXvw5ZdfYvPmzXjvvffQ0dEhbyM7OzvRXw0RpZpEREPSbbfdJgEI+aemvXv3Ku7j2WefjWk7+/btk6ZOnaq4rXj+/eIXv4jr5+no6JDKysoS2vdjjz2m+HuprKyMuO/Ozk7Vfn7xr6CgQPrss89i+h0899xzksFgUP1YpkyZEtffJF6VlZUhx7BkyZK07n/v3r2qbHvx4sUh2/7oo49i2kZbW5s0c+ZM1f6+t912W9T7fvfdd6WcnBzVX2PZ2dmx/SKJKO04dYqIkm706NFYtWoVjjvuuIS2o9frcf/99+Pee++N6/mFhYX4+OOPQxaGRyMrKwvLly/HlVdeGde+1VZRUYFVq1bhyCOPjOl5F1xwAVauXImJEyeqejzB07IovUaMGIGVK1fipz/9acr3/d3vfhcbN27EUUcdpep2+RojGnoYNIgoJUaMGIH3338fjz76KMaMGRPz84899lhs3LgRS5cuTeg4Jk6ciHXr1uHCCy+EVhvdKbC2thYbN27ERRddFPd+c3JycPfdd2PhwoXQ6XRxb8diseDmm2/Gjh07MH369Li2MXfuXGzduhV/+tOfUFZWFvexaLVaLFq0CE8//XTamhhSeBaLBc8//zzefffduC/6DQYDzj33XJx11lkxPW/KlClYv349nnnmmUH73Axm1qxZePDBB/HNN98ktB0iSj2NJIVpJ0tElCROpxOvvvoqXn31VdTV1SlWtNHpdKipqcHxxx+P888/H7NmzVL9OHbt2oUVK1bgvffew969e9HW1gan04n8/HxMmjQJCxYswPe//30cffTRqu63o6MDdXV1WLt2LTZs2IDdu3ejublZsbu3VqvFhAkTcOSRR+J73/sezjrrLFgsFtWOxePx4L333sNrr72GNWvWYMeOHfB4PIrfO3LkSEydOhWHH344jjvuOBxzzDHyHPtU27x5c0gjupEjR8a0budQs27dOrz88sv4+OOPsXXrVrjd7pDvMRgMmDBhAmbNmoUTTzwRJ510EkaOHJnQfiVJwsqVK7FixQrU1dXhyy+/DNtEsLCwEFOmTMFhhx2GY445BscffzxGjx6d0P6JKH0YNIgo7bq7u9Hc3Ay73Q6dTof8/HyMHTv2kJoq4XQ6sX//fvT09MBut8NsNiMvLw8jRoyAyWRK2XF4vV60tLSgs7MTTqcTRqMReXl5KCwsRF5eXsqOg5LL6/WiubkZnZ2dcLlcsFgsyM3NRUlJCfT65NaJkf5/udyDBw+iv78f2dnZyM3NRUFBQdqCKxElB4MGERERERGpjms0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiisjn8+Htt9/GWWedhZqaGlRUVKCmpgZnnXUW3n77bfh8vnQfIhERZSCNJElSug+CiIgyj9frxbJly3D//fejsbEROp0OXq9X/rr474qKCixduhTXXHMNtFrevyIiogEMGkREFMLhcOC8887Df//7X0TzMaHRaHDmmWfipZdegtFoTMEREhFRpmPQICKiAF6vF+eccw5ef/31mKZFabVanH766fj3v/8NnU6XxCMkIqKhgGPcREQUYNmyZXjttddiXnvh8/nw3//+F8uWLUvSkRER0VDCEQ0iIpL5fD5UVVWhsbEx7m1UVFRg7969XK9BRHSI46cAERHJ3n333YRCBgA0NDTgvffeU+mIiIhoqGLQICIi2ZNPPpnw+gqdTocnn3xSpSMiIqKhikGDiIhku3fvDihhGw+v14vdu3erdERERDRUMWgQEZGsp6dHle3YbDZVtkNEREMXgwYREclyc3NV2U5eXp4q2yEioqGLQYOIiAAAkiRh4sSJCVeL0ul0mDx5skpHRUREQxWDBhHRIU6SJHg8HrhcLlxyySUx988I5vV68dOf/jTh7RAR0dDGPhpERIcoSZLg9XoDFn/7fD5MnjwZTU1NcW+3rKwMmzZtglarhdFohNlsZqdwIqJDEEc0iIgOMf4jGMEVpgwGA66//npoNJq4t3/llVfK06/6+/vR0dGBnp6ehKtZERHR0MIRDSKiQ4TSCIag0+mg0+mg0Wjg9Xpx7rnn4rXXXotp+pNWq8UZZ5yBl19+GU6nEw6HA8EfMRzhICI6dDBoEBENc4MFDL1eH/K4w+HAeeedh//+978hYUGJRqPBmWeeiZdeeglGo1Her91uZ+AgIjpEMWgQEQ1T8QQMf16vF8uWLcMDDzyAhoYG6HS6gG2J/66oqMDSpUtxzTXXKFasYuAgIjo0MWgQEQ0ziQaMYD6fD++99x6efPJJvP766/B4PNDr9fje976Hyy+/HN/97nejKonLwEFEdGhh0CAiGiYiBQy9Xq/KRXx5eTmam5tRVlYWd2UqSZLgcDhgt9sZOIiIhrHYbmsREVHGEVWklBZuqxUw1KTRaGA2m2EymUICR39/P/r7+5GdnQ2LxZJxx05ERNFj0CAiGqKGWsAIFilwOJ1OOJ1OBg4ioiGMQYOIaIgJFzA0Go1cpnYoCQ4cDodD/tkYOIiIhi4GDSKiIWK4BYxg0QYOs9kc84J2IiJKPZ6piYgy3HAPGMEYOIiIhgeeoYmIMtShFjCCMXAQEQ1tPDMTEWWYQz1gBPMPHP39/bDb7QwcRERDAM/IREQZggEjMo1GA5PJBKPRyMBBRDQE8ExMRJRmDBixiSZwZGVlwWKxMHAQEaURz8BERGnCgJGYSIHD5XLB5XIxcBARpRHPvEREKcaAoS4GDiKizMQzLhFRivh8Pni9XgaMJIk2cJjNZhgMhjQfLRHR8MegQUSUZAwYqcXAQUSUGRg0iIiShAEjvfwDh9PpRF9fHwMHEVEKMWgQEamMASOzaDQaGI3GgBEOr9cLgIGDiCiZGDSIiFTCgJH5GDiIiFKHQYOIKEEMGEPPYIHDYDDAYrEwcBARJYBBg4goTgwYQ1+4wOF2u9HV1cXAQUSUAAYNIqIYMWAMPwwcRETqY9AgIooSA8bwF03gMJvNyMrKSvOREhFlPgYNIqJBRAoYer0eWq02TUdGySIChyiL6x84uru7GTiIiKLAoEFEFAYDBmVnZyM7O5uBg4goDgwaRERBGDAoGAMHEVHsGDSIiP4/n88Hj8cDSZICHmfAIME/cNjtdng8HgDfBg69Xg+LxcLAQUQEBg0iIgYMilm4wOHxeBg4iIj+PwYNIjpkMWBQohg4iIjCY9AgokMOAwapLZrAYTabkZ2dneYjJSJKHQYNIjpkMGBQskUKHDabjYGDiA4pDBpENOwxYFCqicDhcrnQ19fHwEFEhyQGDSIathgwKN2ysrKQlZXFwEFEhyQGDSIadhgwKNMwcBDRoYhBg4iGjXABQ6vVQqfTMWBQ2g0WOHQ6HSwWCwMHEQ0LDBpENOQxYNBQ4x847HY73G43AMDr9TJwENGwwaBBREMWAwYNdQwcRDScMWgQ0ZDj9Xrh9XoZMGjYiCZwmM1mGI3GNB8pEVH0GDSIaMhgwKDhLlLg6Onpgd1uZ+AgoiGDQYOIMh4DBh1qROBwu93o6+tj4CCiIYlBg4gyFgMGHeoMBgMKCgoYOIhoSGLQIKKMw4BBFIiBg4iGIgYNIsoYDBhEkfkHDrvdDpfLBYCBg4gyE4MGEaUdAwZRbAwGA/Lz8xk4iCijMWgQUdowYBAlZrDA0dfXJwcOjUaT5qMlokMNgwYRpRwDBpG6wgUOn8+H3t7egBEOBg4iShUGDSJKmUgBQ6/X8wKIKEEicHg8HvT19TFwEFFaMWgQUdIxYBClll6vZ+AgorRj0CCipGHAIEovBg4iSicGDSJSHQMGUWbxDxx2ux1OpxMAAwcRJReDBhGphgGDKLPp9Xrk5eUxcBBRSjBoEFHCGDCIhpZoAofJZILJZOL7l4jixqBBRHFjwCAa2iIFjr6+PjgcDgYOIoobgwYRxYwBg2h4YeAgomRg0CCiqDFgEA1vDBxEpCYGDSIalNfrhcfjCXmcAYNoeBKBw+v1oq+vLyRwiEXjDBxEFAmDBhGFxYBBdGjT6XSKgUOSJAYOIhoUgwYRhQgXMHQ6HXQ6HS8oiA4x/oHDbrejv78fAAMHEUXGoEFEMo/HA6/XG/I4AwYRAQPngtzcXJjNZgYOIhoUgwYRMWAQUUyiCRwmkwlms5nnD6JDGIMG0SGMAYOIEhEpcNjtdrlKFQMH0aGJQYPoECNJklymNhgDBhHFI9rAYTKZoNVq03y0RJQqDBpEhwgGDCJKNgYOIvLHoEE0zDFgEFGqMXAQEcCgQTRsMWAQUbqJwGGxWOSAATBwEB0qGDSIhhkGDCLKNFqtFjk5OfIIBwMH0aGBQYNomGDAIKJMF03gMBqNMJvNDBxEwwCDBtEQx4BBRENNcODo7++HJEmQJAkOhwP9/f0MHETDAIMG0RDFgEFEQx0DB9HwxqBBNMQwYBDRcMPAQTQ8MWgQDREMGEQ03DFwEA0vDBpEGY4Bg4gONf6Bw+FwwOFwBAQOUaWKgYMoszFoEGUoBgwiOtRptVpYLBaYTKaAwAGAgYNoCGDQIMowDBhERIGiCRxiSpVOp0vz0RKRwKBBlCEYMIiIIosUOPr7+wPWcDBwEKUfgwZRmjFgEBHFhoGDaGhg0CBKk8EChl7PtycRUSQicPh3GmfgIMocvJIhSjEGDCIidWk0GgYOogzEKxqiFGHAICJKLgYOoszCKxuiJIsUMPR6PT/siIhU5h84HA4H7HY7AwdRGjBoECWJJEnweDzw+XwhX2PAICJKPo1GA7PZLC8aZ+AgSi0GDSKVMWAQEWWWaAJHdnY2LBYLz9FEKmLQIFJJuICh0WjkMrVERJQ+wYHD4XDI52yn0wmn08nAQaQiBg2iBDFgEBENLdEGDrPZzEIdRAngu4coTgwYRERDGwMHUXLxXUMUIwYMIqLhhYGDKDn4biGKEgMGEdHw5h84+vv7YbfbGTiIEsB3CdEgGDCIiA4tGo0GJpMJRqORgYMoAXx3EIXBgEFEdGiLJnBkZWXBYrEwcBAp4LuCKAgDBhER+YsUOFwuF1wuFwMHkQK+G4j+PwYMIiKKhIGDKDZ8F9Ahz+fzwev1MmAQEVFUog0cZrMZBoMhzUdLlD4MGnTIYsAgIqJEMHAQRcagQYccBgwiIlKTf+BwOp3o6+tj4CACgwYdQhgwiIgomTQaDYxGY8AIh9frBcDAQYcmBg0a9hgwiIgo1Rg4iBg0aBhjwCAionQbLHAYDAZYLBYGDhqWGDRo2GHAICKiTBMucLjdbnR1dTFw0LDEoEHDBgMGERFlOgYOOpQwaNCQx4BBRERDTTSBw2w2IysrK81HShQ/Bg0asiIFDL1eD61Wm6YjIyIiio4IHKIsrn/g6O7uZuCgIY1Bg4YcBgwiIhpusrOzkZ2dzcBBwwqDBg0ZDBhERDTcMXDQcMKgQRnP5/PB4/FAkqSAxxkwiIhouPIPHHa7HR6PB8C3gUOv18NisTBwUEZj0KCMxYBBRESHunCBw+PxMHBQxmPQoIzDgEFERBSIgYOGIgYNyhgMGERERJFFEzjMZjOys7PTfKREDBqUARgwiIiIYhMpcNhsNgYOyggMGpQ2DBhERESJEYHD5XKhr6+PgYMyCoMGpRwDBhERkbqysrKQlZXFwEEZhUGDUoYBg4iIKLkYOCiTMGhQ0oULGFqtFjqdjgGDiIhIZf6Bw263w+12A/g2cOh0OlgsFgYOSioGDUoaBgwiIqL0Chc4vF4vAwclHYMGqY4Bg4iIKLMwcFA6MGiQarxeL7xeLwMGERFRhoomcJjNZhiNxjQfKQ0HDBqUMAYMIiKioUUEDrfbjb6+voDA0dPTA7vdzsBBCWPQoLgxYBAREQ1tBoMBBQUFDByUFAwaFDMGDCIiouGFgYOSgUGDosaAQURENLwxcJCaGDRoUKwiRUREdGjxDxx2ux0ulwtAYODIyclBVlZWmo+UMplGCr56pENKNH9+ETQErVYr/wtHo9GocnxElBperzcp29XpdEnZLhGpL9I1gcfjCahSBQB5eXkwGAyDbpfXBIcujmgc4rxe76AjEhqNBpIkQaPRBIxgKJ2QJEmCJEnQ6/nSIhpKfvOb38BsNmPOnDmqbfPDDz/Evffeq9r2iCi5+vr6Io5QmEwm6PV6OBwO+Hw+AAgIHsE8Hg98Ph9ycnJUP1YaGng1SFHdaYi2gY/H4+FUKqIhyO12449//CP279+PvLw8Vbb59ttvq7IdIkqdwUYoDAYDzGZzVNvq7u6GyWRS47BoiGLQIA5pEhEA4Omnn8bs2bOxa9cunheIDlF875OaeOuZiIgAAOeffz4qKipw3333pftQiIhoGGDQICIiAAN3Mt966y38+te/DigAQUQUK9YaIoBBg4iI/GRlZeGuu+7CkiVL0n0oRDSESZLEqnPEoEFERIF+/etf46WXXuIdSSKKm8PhiHrROA1fDBpERBRAo9Fg7ty5+Oijj9J9KEQ0RPX390ddsZKGL1adIiKiEG+//TbGjh2Lnp6edB8KEQ1Bos8GHdo4okFERCEKCgrQ29vLiwUiihtL5RKDBsVFdACXJAk+n48XI0TD0NKlS3HXXXel+zCIiGiI4tQpGpT/glD/cBH8PYN1EyWioeW+++6DwWDALbfcwjuTRBQ1FpIggSMaFMI/THi9Xni9Xng8Hng8Hni9XgCATqeDXq8P+Me6+0TDi06nw4QJE1BXVyc/JkkSnE4nLySIiGhQHNGggAuG4GlQGo0GGo0GWq024I6m0t1NXngQDT9r1qxBRUUFrFYrmpubce+998JqtWLcuHFYvnw5q8oQUQi3281zAwHgiAYBASMWosGOGKXQ6XTQ6XRy0BD/gnFaBdHwNHLkSNx000049thjcd555+GEE07AU089hby8PCxYsAD79u1L9yESUYax2+3soUEAOKJBQMiIBUMDEfm79dZbcdlll8FisSAvLw8A8Oijj+Lxxx/HrFmzsGLFCsyePTvNR0lEmcLtdrMrOAHgiAYBISMWRET+NBoNSkpK5JAhHrvyyivx0ksv4Xvf+x5eeOEFTp8kIhmvJwhg0CAiojhpNBosXrwY69evx913341f/vKXcsEIIhr+/EvdixsNvOFA/hg0iIgoIZWVldiwYQO++uorfO9732M3caJhxr8apcfjgcvlgsPhQG9vL2w2G7q7u9Hd3Q273Q6Xy8Vy9yRj0CDVaLV8OREdqiwWC1599VXMnDkTRx11FL7++ut0HxIRxcE/UDidTtjtdvT09KC7uxtdXV3o6emBw+GA1+uFXq+HyWSCxWKBxWKBx+NBX18f8vPz0/1jUIbgYnBSjVarZYdwokOYVqvFnXfeicMOOwzz58/Hj370o3QfEhHFqKurC5IkQaPRyJUns7Ky5PWc/jcVg9dh6PV6+blEAIMGAaqGA51Ox/mZREOQVqvFu+++q8q2CgoKcMMNN2D//v2qbI+IUic7O1uxQIwkSXITX6JoaSReFR7Sov3zu91u+f9HM/eSdzOIhhaPx5OU7er1vJ9FNFREe03Q3d0Nn88HrVYb1TQpXhMcuvgJcIiL5c0vhkN5wiAafqINBOXl5WhubkZZWRmampqSfFRElErRfr57vV74fD5Ok6JBcfUuERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSIiIiIiEh1DBpERERERKQ6Bg0iIiIiIlIdgwYREREREamOQYOIiIiIiFTHoEFERERERKpj0CAiIiIiItUxaBARERERkeoYNIiIiIiISHUMGkREREREpDoGDSIiIiIiUh2DBhERERERqY5Bg4iIiIiIVMegQUREREREqmPQICIiIiIi1TFoEBERERGR6hg0iIiIiIhIdQwaRERERESkOgYNIiIiIiJSHYMGERERERGpjkGDiIiIiIhUx6BBRERERESqY9AgIiIiIiLVMWgQEREREZHqGDSI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",
            "text/plain": [
              "<Figure size 1000x800 with 28 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "model.plot(beta=50, scale=1, out_vars=['House Price'])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "yPbmkBTBNSDe",
        "outputId": "dc4c7c69-c45a-4b56-d086-59b0a2f102f9"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Moviepy - Building video video.mp4.\n",
            "Moviepy - Writing video video.mp4\n",
            "\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": []
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Moviepy - Done !\n",
            "Moviepy - video ready video.mp4\n"
          ]
        }
      ],
      "source": [
        "import moviepy.video.io.ImageSequenceClip\n",
        "\n",
        "video_name='video'\n",
        "fps=10\n",
        "\n",
        "fps = fps\n",
        "files = os.listdir(image_folder)\n",
        "train_index = []\n",
        "for file in files:\n",
        "    if file[0].isdigit() and file.endswith('.jpg'):\n",
        "        train_index.append(int(file[:-4]))\n",
        "\n",
        "train_index = np.sort(train_index)\n",
        "\n",
        "image_files = [image_folder+'/'+str(train_index[index])+'.jpg' for index in train_index]\n",
        "\n",
        "clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)\n",
        "clip.write_videofile(video_name+'.mp4')"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CBD58aME1Rvd"
      },
      "source": [
        "# Implementation of a Neural Network for comparison"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZeOsPZiB9MSS"
      },
      "source": [
        "## Misc Functions"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "WxOUQTTiuAja"
      },
      "outputs": [],
      "source": [
        "class CalHousNet(nn.Module):\n",
        "    def __init__(self):\n",
        "        super(CalHousNet, self).__init__()\n",
        "        self.fc1 = nn.Linear(8, 3)  # 8 inputs to 5 hidden nodes\n",
        "        self.relu = nn.ReLU()\n",
        "        self.fc2 = nn.Linear(3, 1)  # 5 hidden nodes to 3 outputs\n",
        "\n",
        "    def forward(self, x):\n",
        "        x = self.fc1(x)\n",
        "        x = self.relu(x)\n",
        "        x = self.fc2(x)\n",
        "        return x\n",
        "\n",
        "def train_model(model, train_loader, criterion, optimizer, num_epochs=100):\n",
        "    model.train()\n",
        "    for epoch in range(num_epochs):\n",
        "        for inputs, labels in train_loader:\n",
        "            inputs, labels = inputs.to(device), labels.to(device)  # Move data to the specified device\n",
        "            optimizer.zero_grad()\n",
        "            outputs = model(inputs)\n",
        "            loss = criterion(outputs, labels)\n",
        "            loss.backward()\n",
        "            optimizer.step()\n",
        "        print(f'Epoch {epoch+1}, Loss: {loss.item()}')\n",
        "\n",
        "def test_model(model, test_loader):\n",
        "    model.eval()\n",
        "    total_loss = 0.0\n",
        "    total_count = 0\n",
        "    with torch.no_grad():\n",
        "        for inputs, labels in test_loader:\n",
        "            inputs, labels = inputs.to(device), labels.to(device)  # Move data to the specified device\n",
        "            outputs = model(inputs)\n",
        "            loss = torch.nn.functional.mse_loss(outputs, labels, reduction='sum')\n",
        "            total_loss += loss.item()\n",
        "            total_count += labels.size(0)\n",
        "\n",
        "    # Calculate the average MSE over all batches\n",
        "    average_mse = total_loss / total_count\n",
        "    print(f'Mean Squared Error: {average_mse}')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "B-99o3TR1uN1"
      },
      "outputs": [],
      "source": [
        "def load_calhous_dataset():\n",
        "    # Load California housing dataset\n",
        "    calhous = fetch_california_housing()\n",
        "    data = calhous.data\n",
        "    target = calhous.target\n",
        "\n",
        "    scaler = StandardScaler()\n",
        "    data = scaler.fit_transform(data)\n",
        "\n",
        "    # Convert to PyTorch tensors\n",
        "    data_tensor = torch.tensor(data, dtype=torch.float32)\n",
        "    target_tensor = torch.tensor(target, dtype=torch.float32).reshape(-1, 1)\n",
        "\n",
        "    # Split dataset into train and test sets\n",
        "    train_data, test_data, train_target, test_target = train_test_split(data_tensor, target_tensor, test_size=0.2, random_state=42)\n",
        "\n",
        "    # Create data loaders (optional, if you want to batch and shuffle the data)\n",
        "    train_loader = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(train_data, train_target), batch_size=256, shuffle=True)\n",
        "    test_loader = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(test_data, test_target), batch_size=256, shuffle=False)\n",
        "\n",
        "    return train_loader, test_loader\n",
        "\n",
        "train_loader, test_loader = load_calhous_dataset()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "FJYeBGm9vj28"
      },
      "outputs": [],
      "source": [
        "dataiter = iter(train_loader)\n",
        "data, labels = next(dataiter)\n",
        "print(\"Train data shape: {}\".format(data.shape))\n",
        "print(\"Train target shape: {}\".format(labels.shape))\n",
        "dataiter = iter(test_loader)\n",
        "data, labels = next(dataiter)\n",
        "print(\"Test data shape: {}\".format(data.shape))\n",
        "print(\"Test target shape: {}\".format(labels.shape))\n",
        "print(\"====================================\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Hg219SyH9NrO"
      },
      "source": [
        "## Train and Evaluate the NN"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "DbsyfVGd1cX1"
      },
      "outputs": [],
      "source": [
        "model = CalHousNet().to(device)\n",
        "criterion = torch.nn.MSELoss()\n",
        "optimizer = torch.optim.Adam(model.parameters(), lr=0.05)\n",
        "\n",
        "train_model(model, train_loader, criterion, optimizer)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "zw5MP7SSwmOq"
      },
      "outputs": [],
      "source": [
        "test_model(model, test_loader)"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "collapsed_sections": [
        "LRMpDTp_cVt5",
        "7RE1svm9cXkX"
      ],
      "gpuType": "T4",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
